package com.designPatterns.singleton;

/**
 * 静态内部类方式实现的
 * Created by houjinxin on 16/3/5.
 */
public class SingletonStaticInnerClass {

    private static class Inner{
        private static final SingletonStaticInnerClass instance = new SingletonStaticInnerClass();
    }

    private SingletonStaticInnerClass(){
        System.out.println("我是静态内部类单例类");
    }

    //静态方法定义为final不影响子类中有重载的同名方法包括方法参数名相同,且在构造函数私有的类中不允许有子类
    //这里的final是多余的
    public static final SingletonStaticInnerClass getInstance(){
        return Inner.instance;
    }

    /**
     * 该方法用于测试懒加载是否成功
     */
    public static void doSomething(){
        System.out.println("干了一些事情");
    }
}
